*** シーケンス記述言語 「TFL-II」 (未完成) ***

						福井 利夫
						toshio.fukui@nifty.com

● はじめに

これはゲームのシーケンスを記述をするための言語として作成していた言語です。
内容的にはアドベンチャーゲーム等の紙芝居的なもの考えていました。
未完成で、音楽関係、コマンド選択、マウス制御が作られていませんがいませんが、
簡単なデモ程度なら作れます。
もともと、Z-80用のTFLを使っていて、汎用言語だとめんどくさい記述が多かった、
という経験のものに、シーケンス記述専用になり、実行速度優先の言語仕様と
なっています。
使用できる機能は、以下のとおりです。

* データの読み込み、保存
* 画像データの読み込み、保存 （オリジナル形式)
* テキスト画面の制御 (複数ウインドウ表示等)
* 式評価、分岐等
* その他いろいろ

ただし、このドキュメントのうち、どこまでを実装しているのかは謎です。
X68kを持っていなかったので、あちこちの友人宅のX68kを借りたりして作業してました。
ゲームへの興味がなくなると同時に没になりました。


● 起動方法

  起動方法は次のとおりです。

	TFLII[ret]

  起動時には、TFLSTART.TXTが読み込まれます。
  TFLSTART.TXTの中身は次のようになっています。

	L:<ファイル名>	... 結合するバイナリモジュール (いくつでもOK)
	P:<16進数4桁>	... テキスト暗号化の値
	T:<ファイル名>	... テキストを読み込み実行


● 文法等

  ステートメントは英単語ではなく1文字ずつ意味を持ちます。
  したがって、最初の一文字目で、以下の種類を持ちます。

	#	... コメント
	W	... テキスト
	G	... グラフィック
	C	... CRT設定
	M	... 音楽
	K	... キー入力
	S	... 選択
	J	... 分岐
	L	... ラベル

  ステートメントには式が記述できますが、式は、
	(((A+D)*3)-4)
といった具合ですべて括弧で囲む必要があります。


・画面設定 C

  CI			グラフィックをONにして画面クリアします
  CC <ページ番号>	指定したグラフィックページをクリアします
  CM <モード番号>	指定した画面モードにします
  CS <ページ番号><X軸><Y軸>
			グラフィック画面の表示位置を指定します


・テキストウインドウ W

  W <ウインドウ番号> "文字列"
			文字列を指定ウインドウへ表示します。
			文字列内には以下の特殊記号が使用可能です。
				\ ... コントロールコード
					N	改行
					C	クリア
					H	ホーム
					P	一時停止
					\	\ (\\で\になります)
					I<カラーコード>
						色を変更
					L<X><Y>	カーソル位置移動
					S	次の行まで無視(コメント)

  W <ウインドウ番号> S <X1>,<Y1>,<X2>,<Y2>
			ウインドウを(X1,Y1)-(X2,Y2)でオープンします。
  W <ウインドウ番号> C	?


・グラフィックコマンド G

  記述は以下のように行います。

  G [G|P], <X1>, <Y1>, <X2>, <Y2>, <ページ番号>, <アドレス>, <オプション>
    ^^^^^
    モード
	モードGの時、指定情報の画像をGETします。
	モードPの時、指定情報の画像をPUTします。

    オプション
	・GETの時
		I ... イメージデータ
		A ... 独自形式圧縮フォーマット
		P ... PIC形式ファイル (多分、これは予定だけのはず)
	・PUTの時
		I ... イメージデータ
		A ... 独自形式圧縮フォーマット
		P ... PIC形式ファイル (多分、これは予定だけのはず)
		C ... 拡大アルゴリズム1
		B ... 拡大アルゴリズム0
		S ... 縮小アルゴリズム0
			C,B,Sの後倍率 ",<X倍>,<Y倍>"が指定されます。
			ただ、作りかけでまともじゃないと思います。

・その他
	不明

以上
